package com.Txunda.fxw.ui.toolkit.share;

import android.graphics.Bitmap;

import com.Txunda.fxw.ui.listener.ShareCallBack;

import java.util.HashMap;

import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;

/**
 * 创建时间：2018/11/15 14:13
 * 文件名称：ShareUtils
 * 作    者：Hzj
 * 描    述：
 * 注    意：
 * 修    改：
 * 参    考：
 * 出    自：书山府科技 android
 **/
public class ShareUtils implements PlatformActionListener {
    private Bitmap bitmap;
    private ShareCallBack shareCallBack;

    public ShareUtils(Bitmap bitmap, ShareCallBack shareCallBack) {
        this.bitmap = bitmap;
        this.shareCallBack = shareCallBack;
    }

    public void onWechatShare() {
        Platform.ShareParams sp_hy = new Platform.ShareParams();
        sp_hy.setShareType(Platform.SHARE_WEBPAGE); // 非常重要：一定要设置分享属性
        sp_hy.setTitle("峰行网"); // 分享标题
        sp_hy.setText("峰行网超好用-分享给朋友吧~");// 分享文本
        sp_hy.setUrl("http://www.yiyuanchazuo.com");
        sp_hy.setImageData(bitmap);
        // 3、非常重要：获取平台对象
        Platform wechathy = ShareSDK.getPlatform(Wechat.NAME);
        wechathy.setPlatformActionListener(this); // 设置分享事件回调
        // 执行分享
        wechathy.share(sp_hy);
    }

    public void onWechatFriends() {
        Platform.ShareParams sp = new Platform.ShareParams();
        sp.setShareType(Platform.SHARE_WEBPAGE); // 非常重要：一定要设置分享属性
        sp.setTitle("峰行网"); // 分享标题
        sp.setText("峰行网超好用-分享给朋友吧~");// 分享文本
        sp.setUrl("http://www.yiyuanchazuo.com");
        sp.setImageData(bitmap);
        //sp.setImagePath();
        // 3、非常重要：获取平台对象
        Platform wechatMoments = ShareSDK.getPlatform(WechatMoments.NAME);
        wechatMoments.setPlatformActionListener(this); // 设置分享事件回调
        // 执行分享
        wechatMoments.share(sp);
    }

    public void onQQFriends() {
        Platform.ShareParams sp1 = new Platform.ShareParams();
        sp1.setTitle("峰行网");// 分享标题
        sp1.setText("峰行网超好用-分享给朋友吧~");// 分享文本
        sp1.setImageData(bitmap);
        sp1.setTitleUrl("http://www.yiyuanchazuo.com"); // 网友点进链接后，可以看到分享的详情
        sp1.setSite("峰行网");
        sp1.setSiteUrl("http://www.yiyuanchazuo.com");
        // 3、非常重要：获取平台对象
        Platform qzone = ShareSDK.getPlatform(QQ.NAME);
        qzone.setPlatformActionListener(this);
        // 执行分享
        qzone.share(sp1);
    }


    @Override
    public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
        String plantName = getName(platform);
        shareCallBack.onSuccess(plantName);
    }

    @Override
    public void onError(Platform platform, int i, Throwable throwable) {
        String plantName = getName(platform);
        shareCallBack.onError(plantName, platform, i, throwable);
    }

    @Override
    public void onCancel(Platform platform, int i) {
        String plantName = getName(platform);
        shareCallBack.onCancle(plantName);
    }


    private String getName(Platform platform) {
        String plantName = "";
        if (platform.getName().equals(SinaWeibo.NAME)) {// 判断成功的平台是不是新浪微博
            plantName = "新浪微博";// 分享到微博
        } else if (platform.getName().equals(Wechat.NAME)) {
            plantName = "微信";// 分享给微信好友
        } else if (platform.getName().equals(WechatMoments.NAME)) {
            plantName = "朋友圈";// 分享到微信朋友圈
        }
//        else if (platform.getName().equals(QZone.NAME)) {
//            plantName = "QQ好友";// 分享到qq空间
//        }
        return plantName;
    }
}
